package com.study.leetcode;
//https://leetcode-cn.com/problems/container-with-most-water/
public class Solution_11 {
    /**
     * 面积取决于指针的距离与值小的值乘积，如果值大的值向内移动，距离一定减小，
     * 而求面积的另外一个乘数一定小于等于值小的值，因此面积一定减小，而我们要求最大的面积，
     * 因此值大的指针不动，而值小的指针向内移动遍历
     */
    public int maxArea(int[] height) {
        int l = 0, r = height.length - 1;
        int result = 0, h;
        while (l < r) {
            h = Math.min(height[l], height[r]);
            result = Math.max(result, (r - l) * h);
            if (height[l] > height[r]) {
                r--;
            } else {
                l++;
            }
        }
        return result;
    }
}
